﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
namespace Convert.DataAccess
{
    public class DataTables
    {
        public static DataTable CreateDebtorGroupsDT()
        {
            DataTable table = new DataTable();
            table.Columns.Add("DebtGrID", typeof(Guid));
            table.Columns.Add("DebtGrpName", typeof(string));
            table.Columns.Add("DebtGrCode", typeof(string));
            return table;
        }

        public static DataTable CreateAgentFileDT()
        {
            DataTable table = new DataTable();
            table.Columns.Add("AgentID", typeof(Guid));
            table.Columns.Add("AgentName", typeof(string));
            return table;
        }

        public static DataTable CreateClerkDT()
        {
            DataTable table = new DataTable();
            table.Columns.Add("ClerkID", typeof(Guid));
            table.Columns.Add("ClerkSurname", typeof(string));
            table.Columns.Add("ClerkFirstName", typeof(string));
            table.Columns.Add("ClerkPassWord", typeof(string));
            table.Columns.Add("ClerkPWActive", typeof(Boolean));
            table.Columns.Add("ClerkCode", typeof(string));
            table.Columns.Add("ClerkPhone", typeof(string));
            table.Columns.Add("ClerkStartDate", typeof(DateTime));
            table.Columns.Add("ClerkStatus", typeof(string));
            table.Columns.Add("ClerkGroup", typeof(string));
            table.Columns.Add("ClerkRegistrationNo", typeof(string));
            table.Columns.Add("ClerkInitials", typeof(string));
            return table;
        }

        public static DataTable CreateCategoriesDT()
        {
            DataTable table = new DataTable();
            table.Columns.Add("StockCatName", typeof(string));
            return table;
        }

        public static DataTable CreateDeptFileDT()
        {
            DataTable table = new DataTable();
            table.Columns.Add("DeptID", typeof(Guid));
            table.Columns.Add("DeptNo", typeof(string));
            table.Columns.Add("DeptName", typeof(string));
            table.Columns.Add("DeptMp", typeof(string));
            table.Columns.Add("DeptNoGroup", typeof(string));
            return table;
        }

        public static DataTable CreateDeptGroupsDT()
        {
            DataTable table = new DataTable();
            table.Columns.Add("DeptGroupID", typeof(Guid));
            table.Columns.Add("DeptGroupName", typeof(string));
            table.Columns.Add("DeptGroupNo", typeof(string));
            return table;
        }

        public static DataTable CreateManufacturersDT()
        {
            DataTable table = new DataTable();
            table.Columns.Add("ManfNo", typeof(Guid));
            table.Columns.Add("ManfCode", typeof(string));
            table.Columns.Add("ManfName", typeof(string));
            return table;
        }

        public static DataTable CreateSuppliersDT()
        {
            DataTable table = new DataTable();
            table.Columns.Add("SupplierNo", typeof(Guid));
            table.Columns.Add("SupplierID", typeof(int));
            table.Columns.Add("SupplierName", typeof(string));
            table.Columns.Add("SupContactName", typeof(string));
            table.Columns.Add("SupAddress", typeof(string));
            table.Columns.Add("SupSuburb", typeof(string));         
            table.Columns.Add("SupState", typeof(string));
            table.Columns.Add("SupPostCode", typeof(string));
            table.Columns.Add("SupPhoneNumber", typeof(string));
            table.Columns.Add("SupXRef", typeof(string));
            table.Columns.Add("SupAccNo", typeof(string));
            table.Columns.Add("SupAccPass", typeof(string));
            table.Columns.Add("SupAccNoTwo", typeof(string));
            table.Columns.Add("SupAccPassTwo", typeof(string));
            table.Columns.Add("PharmXOrderCode", typeof(string));
            table.Columns.Add("PharmXOrderMethod", typeof(string));
            table.Columns.Add("PharmXOrderType", typeof(string));
            table.Columns.Add("PharmXOrderBUP", typeof(string));
            table.Columns.Add("PharmXActive", typeof(Boolean));
            table.Columns.Add("PharmXSuppID", typeof(int));
            table.Columns.Add("PharmXOrderGroup", typeof(string));
            table.Columns.Add("SupIsSystem", typeof(Boolean));
            table.Columns.Add("IGANumber", typeof(int));
            return table;
        }

        public static DataTable CreateStockDT()
        {
            DataTable table = new DataTable();
            table.Columns.Add("StkID", typeof(Guid));
            table.Columns.Add("StkNumber", typeof(Int32));
            table.Columns.Add("StkName", typeof(String));
            table.Columns.Add("StkCreation", typeof(DateTime));
            table.Columns.Add("StkMfc", typeof(String));
            table.Columns.Add("DeptNo", typeof(Int32));
            table.Columns.Add("StkManufCode", typeof(String));
            table.Columns.Add("StkWSLast", typeof(DateTime));
            table.Columns.Add("StkMTCode", typeof(String));
            table.Columns.Add("StkWSGSTFlag", typeof(String));
            table.Columns.Add("StkWSGSTPerc", typeof(Decimal));
            table.Columns.Add("StkPrice1", typeof(Decimal));
            table.Columns.Add("StkUnits1", typeof(Int16));
            table.Columns.Add("StkPrice2", typeof(Decimal));
            table.Columns.Add("StkUnits2", typeof(Int16));
            table.Columns.Add("StkPrice3", typeof(Decimal));
            table.Columns.Add("StkUnits3", typeof(Int16));
            table.Columns.Add("StkPrice4", typeof(Decimal));
            table.Columns.Add("StkUnits4", typeof(Int16));
            table.Columns.Add("StkPrice5", typeof(Decimal));
            table.Columns.Add("StkUnits5", typeof(Int16));
            table.Columns.Add("StkExternalDispPde", typeof(String));
            table.Columns.Add("SupplierID", typeof(Int32));
            table.Columns.Add("StkOnHand", typeof(Double));
            table.Columns.Add("StkMinLevel", typeof(Int16));
            table.Columns.Add("StkOrderQty", typeof(Int32));
            table.Columns.Add("StkActive", typeof(Boolean));
            table.Columns.Add("StkEthical", typeof(Boolean));
            table.Columns.Add("StkPrintLabel", typeof(Boolean));
            table.Columns.Add("StkS3", typeof(Boolean));
            table.Columns.Add("StkSetPrice", typeof(Boolean));
            table.Columns.Add("StkLabelType", typeof(String));
            table.Columns.Add("StkTakeLastDate", typeof(DateTime));
            table.Columns.Add("StkTakeFig", typeof(Double));
            table.Columns.Add("StkOrdStock", typeof(Boolean));
            table.Columns.Add("StkPrevInvCost", typeof(Decimal));
            table.Columns.Add("StkLastInvCost", typeof(Decimal));
            table.Columns.Add("StkLastInvDate", typeof(DateTime));
            table.Columns.Add("StkLastInvNo", typeof(String));
            table.Columns.Add("StkLastSoldDate", typeof(DateTime));
            table.Columns.Add("StkAvgCost", typeof(Decimal));
            table.Columns.Add("StkAvgTotal", typeof(Decimal));
            table.Columns.Add("StkActiveCostFlag", typeof(Byte));
            table.Columns.Add("StkActiveCostPrice", typeof(Decimal));
            table.Columns.Add("StkGSTCode", typeof(String));
            table.Columns.Add("StkGSTPerc", typeof(Decimal));
            table.Columns.Add("StkSpecialMp", typeof(Decimal));
            table.Columns.Add("StkSellExTaxPrice", typeof(Decimal));
            table.Columns.Add("StkGSTAmt", typeof(Decimal));
            table.Columns.Add("StkSellPrice", typeof(Decimal));
            table.Columns.Add("StkPackSize", typeof(short));
            table.Columns.Add("StkDiscable", typeof(Boolean));
            table.Columns.Add("StkPurCurrMth", typeof(Double));
            table.Columns.Add("StkCostCurrMth", typeof(Decimal));
            table.Columns.Add("StkCredCurrMth", typeof(Double));
            table.Columns.Add("StkCredCostCurrMth", typeof(Decimal));
            table.Columns.Add("StkSoldCurrMth", typeof(Double));
            table.Columns.Add("StkSellCurrMth", typeof(Decimal));
            table.Columns.Add("StkCOGSCurrMth", typeof(Decimal));
            table.Columns.Add("ShopSOH", typeof(Decimal));
            return table;
        }

        public static DataTable CreateUpdateStockDT()
        {
            DataTable table = new DataTable();
            table.Columns.Add("StkID", typeof(Guid));
            table.Columns.Add("StkNumber", typeof(Int32));
            table.Columns.Add("StkName", typeof(String));
            table.Columns.Add("StkCreation", typeof(DateTime));
            table.Columns.Add("StkMfc", typeof(String));
            table.Columns.Add("DeptNo", typeof(Int32));
            table.Columns.Add("StkManufCode", typeof(String));
            table.Columns.Add("StkWSLast", typeof(DateTime));
            table.Columns.Add("StkMTCode", typeof(String));
            table.Columns.Add("StkWSGSTFlag", typeof(String));
            table.Columns.Add("StkWSGSTPerc", typeof(Decimal));
            table.Columns.Add("StkPrice1", typeof(Decimal));
            table.Columns.Add("StkUnits1", typeof(Int16));
            table.Columns.Add("StkPrice2", typeof(Decimal));
            table.Columns.Add("StkUnits2", typeof(Int16));
            table.Columns.Add("StkPrice3", typeof(Decimal));
            table.Columns.Add("StkUnits3", typeof(Int16));
            table.Columns.Add("StkPrice4", typeof(Decimal));
            table.Columns.Add("StkUnits4", typeof(Int16));
            table.Columns.Add("StkPrice5", typeof(Decimal));
            table.Columns.Add("StkUnits5", typeof(Int16));
            table.Columns.Add("StkExternalDispPde", typeof(String));
            table.Columns.Add("SupplierID", typeof(Int32));
            table.Columns.Add("StkOnHand", typeof(Double));
            table.Columns.Add("StkMinLevel", typeof(Int16));
            table.Columns.Add("StkOrderQty", typeof(Int32));
            table.Columns.Add("StkActive", typeof(Boolean));
            table.Columns.Add("StkEthical", typeof(Boolean));
            table.Columns.Add("StkPrintLabel", typeof(Boolean));
            table.Columns.Add("StkS3", typeof(Boolean));
            table.Columns.Add("StkSetPrice", typeof(Boolean));
            table.Columns.Add("StkLabelType", typeof(String));
            table.Columns.Add("StkTakeLastDate", typeof(DateTime));
            table.Columns.Add("StkTakeFig", typeof(Double));
            table.Columns.Add("StkOrdStock", typeof(Boolean));
            table.Columns.Add("StkPrevInvCost", typeof(Decimal));
            table.Columns.Add("StkLastInvCost", typeof(Decimal));
            table.Columns.Add("StkLastInvDate", typeof(DateTime));
            table.Columns.Add("StkLastInvNo", typeof(String));
            table.Columns.Add("StkLastSoldDate", typeof(DateTime));
            table.Columns.Add("StkAvgCost", typeof(Decimal));
            table.Columns.Add("StkAvgTotal", typeof(Decimal));
            table.Columns.Add("StkActiveCostFlag", typeof(Byte));
            table.Columns.Add("StkActiveCostPrice", typeof(Decimal));
            table.Columns.Add("StkGSTCode", typeof(String));
            table.Columns.Add("StkGSTPerc", typeof(Decimal));
            table.Columns.Add("StkSpecialMp", typeof(Decimal));
            table.Columns.Add("StkSellExTaxPrice", typeof(Decimal));
            table.Columns.Add("StkGSTAmt", typeof(Decimal));
            table.Columns.Add("StkSellPrice", typeof(Decimal));
            table.Columns.Add("StkPackSize", typeof(short));
            table.Columns.Add("StkDiscable", typeof(Boolean));
            table.Columns.Add("StkPurCurrMth", typeof(Double));
            table.Columns.Add("StkCostCurrMth", typeof(Decimal));
            table.Columns.Add("StkCredCurrMth", typeof(Double));
            table.Columns.Add("StkCredCostCurrMth", typeof(Decimal));
            table.Columns.Add("StkSoldCurrMth", typeof(Double));
            table.Columns.Add("StkSellCurrMth", typeof(Decimal));
            table.Columns.Add("StkCOGSCurrMth", typeof(Decimal));
            table.Columns.Add("ShopSOH", typeof(Decimal));
            return table;
        }

        public static DataTable CreateStockTurnsDT()
        {
            DataTable table = new DataTable();

            table.Columns.Add("StkID", typeof(Guid));
            table.Columns.Add("StkNumber", typeof(Int32));

            return table;
        }

        public static DataTable CreateStockTransDT()
        {
            DataTable table = new DataTable();

            table.Columns.Add("StkID", typeof(Guid));
            table.Columns.Add("StkNumber", typeof(Int32));

            return table;
        }

        public static DataTable CreateStockHistTotDT()
        {
            DataTable table = new DataTable();

            table.Columns.Add("StkID", typeof(Guid));
            table.Columns.Add("StkNumber", typeof(Int32));
            table.Columns.Add("StkBonusTotal", typeof(float));
            table.Columns.Add("StkBonusValTotal", typeof(decimal));
            table.Columns.Add("StkRebateValTotal", typeof(decimal));
            table.Columns.Add("StkShrinkageTotal", typeof(float));
            table.Columns.Add("StkShrinkageValTotal", typeof(decimal));
            table.Columns.Add("StkWastageTotal", typeof(float));
            table.Columns.Add("StkWastageValTotal", typeof(decimal));
            table.Columns.Add("StkCreditTotal", typeof(float));
            table.Columns.Add("StkCredValTotal", typeof(decimal));
            table.Columns.Add("StkPurTotal", typeof(float));
            table.Columns.Add("StkCostTotal", typeof(decimal));
            table.Columns.Add("StkCOGSTotal", typeof(decimal));
            table.Columns.Add("StkSoldTotal", typeof(float));
            table.Columns.Add("StkSellTotal", typeof(decimal));
            table.Columns.Add("StkTransTotal", typeof(float));
            table.Columns.Add("StkTransCostTotal", typeof(decimal));

            return table;
        }

        public static DataTable CreateStockHistLYDT()
        {
            DataTable table = new DataTable();

            table.Columns.Add("StkID", typeof(Guid));
            table.Columns.Add("StkNumber", typeof(Int32));
            table.Columns.Add("StkLYBonus", typeof(float));
            table.Columns.Add("StkLYBonusAmt", typeof(decimal));
            table.Columns.Add("StkLYRebateAmt", typeof(decimal));
            table.Columns.Add("StkLYShrinkage", typeof(float));
            table.Columns.Add("StkLYShrinkageValue", typeof(decimal));
            table.Columns.Add("StkLYWastage", typeof(float));
            table.Columns.Add("StkLYWastageValue", typeof(decimal));
            table.Columns.Add("StkLYCredit", typeof(float));
            table.Columns.Add("StkLYCredValue", typeof(decimal));
            table.Columns.Add("StkLYPurMth1", typeof(float));
            table.Columns.Add("StkLYCostMth1", typeof(decimal));
            table.Columns.Add("StkLYCOGSMth1", typeof(decimal));
            table.Columns.Add("StkLYSoldMth1", typeof(float));
            table.Columns.Add("StkLYSellMth1", typeof(decimal));
            table.Columns.Add("StkLYPurMth2", typeof(float));
            table.Columns.Add("StkLYCostMth2", typeof(decimal));
            table.Columns.Add("StkLYCOGSMth2", typeof(decimal));
            table.Columns.Add("StkLYSoldMth2", typeof(float));
            table.Columns.Add("StkLYSellMth2", typeof(decimal));
            table.Columns.Add("StkLYPurMth3", typeof(float));
            table.Columns.Add("StkLYCostMth3", typeof(decimal));
            table.Columns.Add("StkLYCOGSMth3", typeof(decimal));
            table.Columns.Add("StkLYSoldMth3", typeof(float));
            table.Columns.Add("StkLYSellMth3", typeof(decimal));
            table.Columns.Add("StkLYPurMth4", typeof(float));
            table.Columns.Add("StkLYCostMth4", typeof(decimal));
            table.Columns.Add("StkLYCOGSMth4", typeof(decimal));
            table.Columns.Add("StkLYSoldMth4", typeof(float));
            table.Columns.Add("StkLYSellMth4", typeof(decimal));
            table.Columns.Add("StkLYPurMth5", typeof(float));
            table.Columns.Add("StkLYCostMth5", typeof(decimal));
            table.Columns.Add("StkLYCOGSMth5", typeof(decimal));
            table.Columns.Add("StkLYSoldMth5", typeof(float));
            table.Columns.Add("StkLYSellMth5", typeof(decimal));
            table.Columns.Add("StkLYPurMth6", typeof(float));
            table.Columns.Add("StkLYCostMth6", typeof(decimal));
            table.Columns.Add("StkLYCOGSMth6", typeof(decimal));
            table.Columns.Add("StkLYSoldMth6", typeof(float));
            table.Columns.Add("StkLYSellMth6", typeof(decimal));
            table.Columns.Add("StkLYPurMth7", typeof(float));
            table.Columns.Add("StkLYCostMth7", typeof(decimal));
            table.Columns.Add("StkLYCOGSMth7", typeof(decimal));
            table.Columns.Add("StkLYSoldMth7", typeof(float));
            table.Columns.Add("StkLYSellMth7", typeof(decimal));
            table.Columns.Add("StkLYPurMth8", typeof(float));
            table.Columns.Add("StkLYCostMth8", typeof(decimal));
            table.Columns.Add("StkLYCOGSMth8", typeof(decimal));
            table.Columns.Add("StkLYSoldMth8", typeof(float));
            table.Columns.Add("StkLYSellMth8", typeof(decimal));
            table.Columns.Add("StkLYPurMth9", typeof(float));
            table.Columns.Add("StkLYCostMth9", typeof(decimal));
            table.Columns.Add("StkLYCOGSMth9", typeof(decimal));
            table.Columns.Add("StkLYSoldMth9", typeof(float));
            table.Columns.Add("StkLYSellMth9", typeof(decimal));
            table.Columns.Add("StkLYPurMth10", typeof(float));
            table.Columns.Add("StkLYCostMth10", typeof(decimal));
            table.Columns.Add("StkLYCOGSMth10", typeof(decimal));
            table.Columns.Add("StkLYSoldMth10", typeof(float));
            table.Columns.Add("StkLYSellMth10", typeof(decimal));
            table.Columns.Add("StkLYPurMth11", typeof(float));
            table.Columns.Add("StkLYCostMth11", typeof(decimal));
            table.Columns.Add("StkLYCOGSMth11", typeof(decimal));
            table.Columns.Add("StkLYSoldMth11", typeof(float));
            table.Columns.Add("StkLYSellMth11", typeof(decimal));
            table.Columns.Add("StkLYPurMth12", typeof(float));
            table.Columns.Add("StkLYCostMth12", typeof(decimal));
            table.Columns.Add("StkLYCOGSMth12", typeof(decimal));
            table.Columns.Add("StkLYSoldMth12", typeof(float));
            table.Columns.Add("StkLYSellMth12", typeof(decimal));

            return table;
        }
        public static DataTable CreateStockHistCurrDT()
        {
            DataTable table = new DataTable();

            table.Columns.Add("StkID", typeof(Guid));
            table.Columns.Add("StkNumber", typeof(Int32));
            table.Columns.Add("StkBonus", typeof(float));
            table.Columns.Add("StkBonusAmt", typeof(decimal));
            table.Columns.Add("StkRebateAmt", typeof(decimal));
            table.Columns.Add("StkShrinkage", typeof(float));
            table.Columns.Add("StkShrinkageValue", typeof(decimal));
            table.Columns.Add("StkWastage", typeof(float));
            table.Columns.Add("StkWastageValue", typeof(decimal));
            table.Columns.Add("StkCredCurrHist", typeof(float));
            table.Columns.Add("StkCredCostCurrHist", typeof(decimal));
            table.Columns.Add("StkPurMth1", typeof(float));
            table.Columns.Add("StkCostMth1", typeof(decimal));
            table.Columns.Add("StkCOGSMth1", typeof(decimal));
            table.Columns.Add("StkSoldMth1", typeof(float));
            table.Columns.Add("StkSellMth1", typeof(decimal));
            table.Columns.Add("StkPurMth2", typeof(float));
            table.Columns.Add("StkCostMth2", typeof(decimal));
            table.Columns.Add("StkCOGSMth2", typeof(decimal));
            table.Columns.Add("StkSoldMth2", typeof(float));
            table.Columns.Add("StkSellMth2", typeof(decimal));
            table.Columns.Add("StkPurMth3", typeof(float));
            table.Columns.Add("StkCostMth3", typeof(decimal));
            table.Columns.Add("StkCOGSMth3", typeof(decimal));
            table.Columns.Add("StkSoldMth3", typeof(float));
            table.Columns.Add("StkSellMth3", typeof(decimal));
            table.Columns.Add("StkPurMth4", typeof(float));
            table.Columns.Add("StkCostMth4", typeof(decimal));
            table.Columns.Add("StkCOGSMth4", typeof(decimal));
            table.Columns.Add("StkSoldMth4", typeof(float));
            table.Columns.Add("StkSellMth4", typeof(decimal));
            table.Columns.Add("StkPurMth5", typeof(float));
            table.Columns.Add("StkCostMth5", typeof(decimal));
            table.Columns.Add("StkCOGSMth5", typeof(decimal));
            table.Columns.Add("StkSoldMth5", typeof(float));
            table.Columns.Add("StkSellMth5", typeof(decimal));
            table.Columns.Add("StkPurMth6", typeof(float));
            table.Columns.Add("StkCostMth6", typeof(decimal));
            table.Columns.Add("StkCOGSMth6", typeof(decimal));
            table.Columns.Add("StkSoldMth6", typeof(float));
            table.Columns.Add("StkSellMth6", typeof(decimal));
            table.Columns.Add("StkPurMth7", typeof(float));
            table.Columns.Add("StkCostMth7", typeof(decimal));
            table.Columns.Add("StkCOGSMth7", typeof(decimal));
            table.Columns.Add("StkSoldMth7", typeof(float));
            table.Columns.Add("StkSellMth7", typeof(decimal));
            table.Columns.Add("StkPurMth8", typeof(float));
            table.Columns.Add("StkCostMth8", typeof(decimal));
            table.Columns.Add("StkCOGSMth8", typeof(decimal));
            table.Columns.Add("StkSoldMth8", typeof(float));
            table.Columns.Add("StkSellMth8", typeof(decimal));
            table.Columns.Add("StkPurMth9", typeof(float));
            table.Columns.Add("StkCostMth9", typeof(decimal));
            table.Columns.Add("StkCOGSMth9", typeof(decimal));
            table.Columns.Add("StkSoldMth9", typeof(float));
            table.Columns.Add("StkSellMth9", typeof(decimal));
            table.Columns.Add("StkPurMth10", typeof(float));
            table.Columns.Add("StkCostMth10", typeof(decimal));
            table.Columns.Add("StkCOGSMth10", typeof(decimal));
            table.Columns.Add("StkSoldMth10", typeof(float));
            table.Columns.Add("StkSellMth10", typeof(decimal));
            table.Columns.Add("StkPurMth11", typeof(float));
            table.Columns.Add("StkCostMth11", typeof(decimal));
            table.Columns.Add("StkCOGSMth11", typeof(decimal));
            table.Columns.Add("StkSoldMth11", typeof(float));
            table.Columns.Add("StkSellMth11", typeof(decimal));
            table.Columns.Add("StkPurMth12", typeof(float));
            table.Columns.Add("StkCostMth12", typeof(decimal));
            table.Columns.Add("StkCOGSMth12", typeof(decimal));
            table.Columns.Add("StkSoldMth12", typeof(float));
            table.Columns.Add("StkSellMth12", typeof(decimal));

            return table;
        }

        public static DataTable CreateStockPDEDT()
        {
            DataTable table = new DataTable();

            table.Columns.Add("StkPDEID", typeof(Guid));
            table.Columns.Add("StkID", typeof(Guid));
            table.Columns.Add("StkNumber", typeof(Int32));
            table.Columns.Add("StkPDE", typeof(String));
            table.Columns.Add("StkSupplierID", typeof(Int32));
            table.Columns.Add("StkSupplierDesc", typeof(String));
            table.Columns.Add("StkDefaultSupplier", typeof(Boolean));

            return table;
        }

        public static DataTable CreateStockAPNDT()
        {
            DataTable table = new DataTable();

            table.Columns.Add("StkAPNID", typeof(Guid));
            table.Columns.Add("StkID", typeof(Guid));
            table.Columns.Add("StkNumber", typeof(Int32));
            table.Columns.Add("StkApn", typeof(String));

            return table;
        }

        public static DataTable CreateReallocatedStockFileDT()
        {
            DataTable table = new DataTable();

            table.Columns.Add("StkID", typeof(Guid));
            table.Columns.Add("NewStkNumber", typeof(Int32));

            return table;
        }

        public static DataTable CreateStockPromotionsDT()
        {
            DataTable table = new DataTable();
            //table.Columns.Add("stkPromoID", typeof(Guid));
            table.Columns.Add("StkID", typeof(Guid));
            table.Columns.Add("stkBasicPromoStart", typeof(DateTime));
            table.Columns.Add("stkBasicPromoEnd", typeof(DateTime));
            table.Columns.Add("stkBasicPromoQty", typeof(Int32));
            table.Columns.Add("stkBasicPromoPrice", typeof(Decimal));
            table.Columns.Add("stkPromoDesc", typeof(String));
            return table;
        }

        public static DataTable CreateStockFileLocCatDT()
        {
            DataTable table = new DataTable();

            table.Columns.Add("StkCatLocID", typeof(Guid));
            table.Columns.Add("StkID", typeof(Guid));
            table.Columns.Add("StkLocCat", typeof(String));
            table.Columns.Add("StkIsLoc", typeof(bool));

            return table;
        }

        public static DataTable CreateDebtorTransDT()
        {
            DataTable table = new DataTable();

            table.Columns.Add("DebtorTransID", typeof(Guid));
            table.Columns.Add("DebtHeaderID", typeof(Guid));
            table.Columns.Add("DebtIssuingStoreID", typeof(short));
            table.Columns.Add("DebtTransDate", typeof(DateTime));
            table.Columns.Add("DebtTransStkID", typeof(Guid));
            table.Columns.Add("DebtTransDescpt", typeof(String));
            table.Columns.Add("DebtTransGSTMarker", typeof(String));
            table.Columns.Add("DebtTransQty", typeof(short));
            table.Columns.Add("DebtTransType", typeof(String));
            table.Columns.Add("DebtTransAmt", typeof(Decimal));
            table.Columns.Add("DebtTransGSTAmt", typeof(Decimal));
            table.Columns.Add("DebtTransReceiptID", typeof(long));
            table.Columns.Add("DebtTransPointChk", typeof(Int32));

            return table;
        }

        public static DataTable CreateLaybyContractDT()
        {
            DataTable table = new DataTable();
            table.Columns.Add("LaybyContractID", typeof(Guid));
            table.Columns.Add("ClientID", typeof(Guid));
            table.Columns.Add("LaybyStatus", typeof(String));
            table.Columns.Add("LaybyTotal", typeof(decimal));
            table.Columns.Add("LaybyCustDepositAmt", typeof(decimal));
            table.Columns.Add("LaybyCustDepositPerc", typeof(decimal));
            table.Columns.Add("LaybyPaymentsTotal", typeof(decimal));
            table.Columns.Add("LaybyRemainingBal", typeof(decimal));
            table.Columns.Add("LaybyFinialReceipt", typeof(int));
            table.Columns.Add("LaybyStarted", typeof(DateTime));
            table.Columns.Add("LaybyFinish", typeof(DateTime));
            table.Columns.Add("LaybyOLDPOSID", typeof(long));
            return table;
        }

        public static DataTable CreateLaybyTransDT()
        {
            DataTable table = new DataTable();
            table.Columns.Add("LaybyTransID", typeof(String));
            table.Columns.Add("LaybyContractID", typeof(Guid));
            table.Columns.Add("LaybyTransDate", typeof(DateTime));
            table.Columns.Add("LaybyItemCode", typeof(String));
            table.Columns.Add("LaybyStkNumber", typeof(int));
            table.Columns.Add("LaybyDeptNo", typeof(int));
            table.Columns.Add("LaybyTransDescpt", typeof(String));
            table.Columns.Add("LaybyTransClerk", typeof(String));
            table.Columns.Add("LaybyTransQty", typeof(String));
            table.Columns.Add("LaybyTransType", typeof(String));
            table.Columns.Add("LaybyTransAmt", typeof(decimal));
            table.Columns.Add("LaybyGSTAmt", typeof(decimal));
            table.Columns.Add("LaybyGSTMarker", typeof(String));
            table.Columns.Add("LaybySellPrice", typeof(decimal));
            table.Columns.Add("LaybyReceiptNo", typeof(int));
            return table;
        }

        public static DataTable CreateDebtorHeaderDT()
        {
            DataTable table = new DataTable();

            table.Columns.Add("DebtHeaderID", typeof(Guid));
            table.Columns.Add("ClientID", typeof(Guid));
            table.Columns.Add("DebtIssuingStoreID", typeof(short));
            table.Columns.Add("DebtAccDesc", typeof(String));
            table.Columns.Add("DebtorAccCreated", typeof(DateTime));
            table.Columns.Add("DebtorAccCreatedBy", typeof(String));
            table.Columns.Add("DebtAccStatus", typeof(String));
            table.Columns.Add("DebtOpenBal", typeof(Decimal));
            table.Columns.Add("DebtCurrBal", typeof(Decimal));
            table.Columns.Add("Debt30DayBal", typeof(Decimal));
            table.Columns.Add("Debt60DayBal", typeof(Decimal));
            table.Columns.Add("Debt90DayBal", typeof(Decimal));
            table.Columns.Add("DebtTotalBal", typeof(Decimal));
            table.Columns.Add("DebtCredLimit", typeof(Decimal));
            table.Columns.Add("DebtDisc", typeof(Decimal));
            table.Columns.Add("DebtGroup", typeof(String));
            table.Columns.Add("DebtDiscAll", typeof(Boolean));
            table.Columns.Add("DebtSurcharge", typeof(Boolean));
            table.Columns.Add("DebtPrintStat", typeof(Boolean));
            table.Columns.Add("DebtEmailStatment", typeof(Boolean));
            table.Columns.Add("DebtMaskScripts", typeof(Boolean));
            table.Columns.Add("DebtExternDebtID", typeof(long));

            return table;
        }


        public static DataTable CreateClubMembersDT()
        {
            DataTable table = new DataTable();

            table.Columns.Add("ClientID", typeof(Guid));
            table.Columns.Add("ClubDollarsAchd", typeof(Decimal));
            table.Columns.Add("ClubDollarsSpent", typeof(Decimal));
            table.Columns.Add("ClubTotVouchers", typeof(Decimal));
            table.Columns.Add("ClubDollarsRem", typeof(Decimal));
            table.Columns.Add("ClubWelcomeSent", typeof(Boolean));
            table.Columns.Add("ClubCardIssued", typeof(Boolean));

            return table;
        }

        public static DataTable CreateClientFileDT()
        {
            DataTable table = new DataTable();

            table.Columns.Add("ClientID", typeof(Guid));
            table.Columns.Add("ClientNo", typeof(Int32));
            table.Columns.Add("ClientCardID", typeof(String));
            table.Columns.Add("ClientIssuingStoreID", typeof(short));
            table.Columns.Add("ClientCreated", typeof(DateTime));
            table.Columns.Add("ClientCreatedBy", typeof(String));
            table.Columns.Add("ClientSurname", typeof(String));
            table.Columns.Add("ClientFirstName", typeof(String));
            table.Columns.Add("ClientSearchMarker", typeof(String));
            table.Columns.Add("ClientSalu", typeof(String));
            table.Columns.Add("ClientSex", typeof(String));
            table.Columns.Add("ClientBirthDate", typeof(String));
            table.Columns.Add("ClientPostalAddress", typeof(String));
            table.Columns.Add("ClientPostalSuburb", typeof(String));
            table.Columns.Add("ClientPostalState", typeof(String));
            table.Columns.Add("ClientPostalPCode", typeof(String));
            table.Columns.Add("ClientHomeAddress", typeof(String));
            table.Columns.Add("ClientHomeSuburb", typeof(String));
            table.Columns.Add("ClientHomeState", typeof(String));
            table.Columns.Add("ClientHomePCode", typeof(String));
            table.Columns.Add("ClientPhoneNumber", typeof(String));
            table.Columns.Add("ClientFaxNumber", typeof(String));
            table.Columns.Add("ClientMobileNumber", typeof(String));
            table.Columns.Add("ClientEmailAddress", typeof(String));
            table.Columns.Add("ClientSendMail", typeof(Boolean));
            table.Columns.Add("ClientEmailLastChecked", typeof(DateTime));
            table.Columns.Add("ClientStatus", typeof(String));
            table.Columns.Add("ClientAcType", typeof(String));
            table.Columns.Add("ClientIDType", typeof(String));
            table.Columns.Add("ClientIDDetails", typeof(String));

            return table;
        }

        public static DataTable CreatePatientsFileDT()
        {
            DataTable table = new DataTable();

            table.Columns.Add("ClientID", typeof(Guid));

            return table;
        }


    }
}
